package com.example.demo.algorithm;

/**
 * TODO:
 *  旋转数组
 *
 * @date:2021/10/14 13:42
 * @author:Vicky(陈烟星)
 */
public class ArrayTest3 {

    /**
     * TODO:
     *  给定一个数组，将数组中的元素向右移动 k 个位置，其中 k 是非负数。
     *  输入: [1,2,3,4,5,6,7] 和 k = 3
     *  输出: [5,6,7,1,2,3,4]
     *
     * @param args
     */
    public static void main(String[] args) {
        int[] nums = new int[]{1, 2, 3, 4, 5, 6, 7};
        int k = 3;
        int n = nums.length;
        int[] newArr = new int[n];
        for (int i = 0; i < n; ++i) {
            int m = (i + k) % n;
            newArr[m] = nums[i];
        }
        System.arraycopy(newArr, 0, nums, 0, n);

        System.out.println(newArr);
    }
}
